(function($) {
    
    /**
     * 初始化页面，检查登录状态
     */
    function initPage() {
        var isLoggedIn = appcan.locStorage.getVal('isLoggedIn');
        
        if (isLoggedIn === 'true') {
            // 已登录，显示用户信息
            $('#login-section').addClass('uhide');
            $('#user-info-section').removeClass('uhide');
            
            var username = appcan.locStorage.getVal('username');
            $('#user-name').text(username);
            
            // 加载用户头像
            var userAvatar = appcan.locStorage.getVal('userAvatar');
            updateUserAvatar(userAvatar);
        } else {
            // 未登录，显示登录表单
            $('#login-section').removeClass('uhide');
            $('#user-info-section').addClass('uhide');
        }
    }
    
    /**
     * 更新用户头像显示
     */
    function updateUserAvatar(avatarPath) {
        var $userAvatar = $('#user-avatar');
        var $defaultIcon = $('.user-avatar-large i.fa-user');
        
        if (avatarPath && avatarPath.trim() !== '') {
            // 有自定义头像，显示图片，隐藏默认图标
            $userAvatar.attr('src', avatarPath);
            $userAvatar.removeClass('uhide');
            $defaultIcon.hide();
        } else {
            // 没有自定义头像，显示默认图标，隐藏图片
            $userAvatar.addClass('uhide');
            $defaultIcon.show();
        }
    }
    
    appcan.ready(function() {
        /**
         * 初始化页面
         */
        initPage();
        
        // 返回按钮
        appcan.button("#nav-left", "btn-act", function() {
            appcan.window.close(-1);
        });
    });
    
    // 将initPage函数暴露到全局作用域
    window.initPage = initPage;
    window.updateUserAvatar = updateUserAvatar;
})($);

/**
 * 执行登录操作
 */
function doLogin() {
    console.log('=== 开始登录流程 ===');
    
    var username = $('#username').val().trim();
    var password = $('#password').val().trim();
    
    console.log('输入的用户名:', username);
    console.log('输入的密码:', password);
    
    if (!username) {
        uexWindow.toast('0', '5', '请输入用户名', '2000');
        return;
    }
    
    if (!password) {
        uexWindow.toast('0', '5', '请输入密码', '2000');
        return;
    }
    
    // 模拟登录验证（实际项目中应调用后端接口）
    if (password === '123456') {
        console.log('✅ 密码验证通过，开始保存登录状态');
        
        // 清除所有相关的旧状态
        appcan.locStorage.setVal('isLoggedIn', '');
        appcan.locStorage.setVal('username', '');
        appcan.locStorage.setVal('loginTime', '');
        
        // 保存新的登录状态
        appcan.locStorage.setVal('isLoggedIn', 'true');
        appcan.locStorage.setVal('username', username);
        appcan.locStorage.setVal('loginTime', new Date().getTime().toString());
        
        // 触发状态变化通知
        appcan.locStorage.setVal('login_status_timestamp', new Date().getTime().toString());
        
        // 验证保存是否成功
        var savedLogin = appcan.locStorage.getVal('isLoggedIn');
        var savedUsername = appcan.locStorage.getVal('username');
        console.log('保存后验证 - isLoggedIn:', savedLogin, 'username:', savedUsername);
        
        // 检查是否来自评论功能
        var loginSource = appcan.locStorage.getVal('login_source');
        console.log('检查登录来源:', loginSource);
        
        if (loginSource === 'comment') {
            console.log('✅ 来自评论功能，准备返回新闻详情页面');
            
            // 清除来源标记
            appcan.locStorage.setVal('login_source', '');
            
            // 显示成功提示
            uexWindow.toast('0', '5', '登录成功！', '1000');
            
            // 极速返回
            setTimeout(function() {
                console.log('✅ 开始返回新闻详情页面');
                appcan.window.close(-1);
            }, 100);
            return;
        }
        
        // 如果不是来自评论功能，说明是从首页直接进入用户中心
        console.log('✅ 来自首页用户中心，准备返回首页');
        
        // 显示成功提示
        uexWindow.toast('0', '5', '登录成功！正在返回首页...', '1500');
        
        // 刷新当前页面显示（先显示已登录状态）
        if (typeof initPage === 'function') {
            initPage();
        }
        
        // 延迟后返回首页
        setTimeout(function() {
            console.log('✅ 开始返回首页');
            
            // 设置标记，告诉首页需要更新登录状态
            appcan.locStorage.setVal('login_status_changed', 'true');
            
            // 关闭当前窗口返回首页
            appcan.window.close(-1);
        }, 1000);
        
    } else {
        console.log('❌ 密码错误');
        uexWindow.toast('0', '5', '密码错误，请输入123456', '2000');
    }
}

/**
 * 执行注册操作
 */
function doRegister() {
    var username = $('#username').val().trim();
    var password = $('#password').val().trim();
    
    if (!username) {
        uexWindow.toast('0', '5', '请输入用户名', '2000');
        return;
    }
    
    if (!password) {
        uexWindow.toast('0', '5', '请输入密码', '2000');
        return;
    }
    
    if (password.length < 6) {
        uexWindow.toast('0', '5', '密码长度至少6位', '2000');
        return;
    }
    
    // 模拟注册（实际项目中应调用后端接口）
    appcan.locStorage.setVal('reg_' + username, password);
    uexWindow.toast('0', '5', '注册成功，请使用密码123456登录', '2000');
}

/**
 * 退出登录
 */
function doLogout() {
    uexWindow.confirm({
        title: "提示",
        message: "确定要退出登录吗？",
        buttonLabels: ["取消", "确定"]
    }, function(index) {
        if (index == 1) {
            // 清除登录状态
            appcan.locStorage.remove('isLoggedIn');
            appcan.locStorage.remove('username');
            appcan.locStorage.remove('loginTime');
            
            uexWindow.toast('0', '5', '已退出登录', '2000');
            
            // 刷新页面显示
            if (typeof initPage === 'function') {
                initPage();
            }
        }
    });
}

/**
 * 拍照更新头像
 */
function takePhoto() {
    // 确认是否要拍照
    uexWindow.confirm({
        title: "拍照",
        message: "是否要拍照更新头像？",
        buttonLabels: ["取消", "拍照"]
    }, function(index) {
        if (index == 1) {
            // 模拟拍照功能（在真实环境中会调用相机）
            var timestamp = new Date().getTime();
            var mockImagePath = 'css/res/user_avatar_' + timestamp + '.jpg';
            
            // 保存头像路径到本地存储
            appcan.locStorage.setVal('userAvatar', mockImagePath);
            
            // 更新头像显示
            updateUserAvatar(mockImagePath);
            
            uexWindow.toast('0', '5', '头像更新成功', '2000');
            
            // 实际的AppCan拍照代码（在真实环境中使用）
            /*
            uexCamera.open(function(imagePath) {
                if (imagePath) {
                    // 保存头像路径到本地存储
                    appcan.locStorage.setVal('userAvatar', imagePath);
                    
                    // 更新头像显示
                    updateUserAvatar(imagePath);
                    
                    uexWindow.toast('0', '5', '头像更新成功', '2000');
                }
            });
            */
        }
    });
}

/**
 * 打开我的收藏
 */
function openMyNews() {
    appcan.openWinWithUrl('my_favorites', 'my_favorites.html');
}

/**
 * 打开我的评论
 */
function openMyComments() {
    appcan.openWinWithUrl('my_comments', 'my_comments.html');
}

/**
 * 打开设置
 */
function openSettings() {
    uexWindow.toast('0', '5', '功能开发中...', '2000');
}

/**
 * 打开关于我们
 */
function openAbout() {
    appcan.openWinWithUrl('about_us', 'about_us.html');
} 